using Net35.Xrm.Sdk;
using Net35.Xrm.Sdk.Query;
using System;
using System.Runtime.Serialization;
namespace Net35.Crm.Sdk.Messages
{
	[DataContract(Namespace = "http://schemas.microsoft.com/crm/2011/Contracts")]
	public sealed class BulkDeleteRequest : OrganizationRequest
	{
		public QueryExpression[] QuerySet
		{
			get
			{
				if (base.Parameters.Contains("QuerySet"))
				{
					return (QueryExpression[])base.Parameters["QuerySet"];
				}
				return null;
			}
			set
			{
				base.Parameters["QuerySet"] = value;
			}
		}
		public string JobName
		{
			get
			{
				if (base.Parameters.Contains("JobName"))
				{
					return (string)base.Parameters["JobName"];
				}
				return null;
			}
			set
			{
				base.Parameters["JobName"] = value;
			}
		}
		public bool SendEmailNotification
		{
			get
			{
				return base.Parameters.Contains("SendEmailNotification") && (bool)base.Parameters["SendEmailNotification"];
			}
			set
			{
				base.Parameters["SendEmailNotification"] = value;
			}
		}
		public Guid[] ToRecipients
		{
			get
			{
				if (base.Parameters.Contains("ToRecipients"))
				{
					return (Guid[])base.Parameters["ToRecipients"];
				}
				return null;
			}
			set
			{
				base.Parameters["ToRecipients"] = value;
			}
		}
		public Guid[] CCRecipients
		{
			get
			{
				if (base.Parameters.Contains("CCRecipients"))
				{
					return (Guid[])base.Parameters["CCRecipients"];
				}
				return null;
			}
			set
			{
				base.Parameters["CCRecipients"] = value;
			}
		}
		public string RecurrencePattern
		{
			get
			{
				if (base.Parameters.Contains("RecurrencePattern"))
				{
					return (string)base.Parameters["RecurrencePattern"];
				}
				return null;
			}
			set
			{
				base.Parameters["RecurrencePattern"] = value;
			}
		}
		public DateTime StartDateTime
		{
			get
			{
				if (base.Parameters.Contains("StartDateTime"))
				{
					return (DateTime)base.Parameters["StartDateTime"];
				}
				return default(DateTime);
			}
			set
			{
				base.Parameters["StartDateTime"] = value;
			}
		}
		public Guid? SourceImportId
		{
			get
			{
				if (base.Parameters.Contains("SourceImportId"))
				{
					return (Guid?)base.Parameters["SourceImportId"];
				}
				return null;
			}
			set
			{
				base.Parameters["SourceImportId"] = value;
			}
		}
		public BulkDeleteRequest()
		{
			base.RequestName = "BulkDelete";
			this.QuerySet = null;
			this.JobName = null;
			this.SendEmailNotification = false;
			this.ToRecipients = null;
			this.CCRecipients = null;
			this.RecurrencePattern = null;
			this.StartDateTime = default(DateTime);
		}
	}
}
